package com.example.java_websocket.vo;

import lombok.Data;
import org.springframework.http.HttpStatus;
@Data
/**
 * 说明：
 * Rest请求标准响应结构体
 *
 */
public class RsetResultVo<T> {

    private  Integer status;//状态码
    private  String message;//消息
    private T data;//数据，使用泛型T，可以是任何类型的对象。

    public RsetResultVo(Integer status, String message, T data) {
        this.status = status;
        this.message = message;
        this.data = data;
    }
    public RsetResultVo(Integer status, String message) {
        this.status = status;
        this.message = message;
    }

    //接口请求成功，携带数据
    public static <T> RsetResultVo <T> success(T data){
        return new RsetResultVo(HttpStatus.OK.value(), "success!",data);
    }
    //接口请求成功，不携带数据
    public static <T> RsetResultVo <T> success2(){
        return new RsetResultVo(HttpStatus.OK.value(), "success!");
    }

    // 接口请求失败，不携带数据
    public static <T> RsetResultVo<T> fail() {
        return new RsetResultVo<>(HttpStatus.OK.value(),"fail");
    }
}
